package org.zjh.view.app;

import org.zjh.constant.ImageConstant;
import org.zjh.controller.listener.GameIntroduceLabelLis;
import org.zjh.controller.listener.AppPanelLoginJbtLis;
import org.zjh.controller.listener.AppPanelRegisterJbtLis;
import org.zjh.controller.listener.QuickStartGameJbtLis;

import javax.swing.*;
import java.awt.*;

import static org.zjh.constant.ImageConstant.REGISTER_JBT_IMAGE;
import static org.zjh.constant.ImageConstant.VISITOR_LOGIN_JBT_IMAGE;


/**
 * 应用程序面板
 */
public class AppPanel extends JPanel {
    //登入按钮
    private JButton loginJbt;
    //游客登入按钮（不用登入快速游玩）
    private JButton visitorsLoginJbt;
    //注册按钮
    private JButton registerJbt;
    //音乐播放按钮
    private JButton musicJbt;
    //游戏介绍标签
    private JLabel gameIntroduceJLabel;

    public AppPanel() {
        init();
        addListener();
    }

    /**
     * 初始化面板
     */
    public void init() {
        setLayout(null);
        //创建登入按钮
        loginJbt = new JButton(ImageConstant.LOGIN_JBT_IMAGE);
        //设置属性
        loginJbt.setBounds(250, 600, 200, 50);
        //创建游客登入按钮
        visitorsLoginJbt = new JButton(VISITOR_LOGIN_JBT_IMAGE);
        //创建音乐播放按钮
        JButton musicJbt = new JButton();
        //创建游戏介绍按钮
        gameIntroduceJLabel = new JLabel("游戏介绍");
        gameIntroduceJLabel.setBounds(100, 25, 150, 50);
        //设置标签字体
        gameIntroduceJLabel.setFont(new Font("黑体", Font.PLAIN, 35));


        //字体颜色加粗
        gameIntroduceJLabel.setForeground(Color.BLACK);
        //设置属性
        visitorsLoginJbt.setBounds(500, 600, 200, 50);

        registerJbt = new JButton(REGISTER_JBT_IMAGE);
        registerJbt.setBounds(750, 600, 200, 50);
        //将创建的添加到面板中
        add(loginJbt);
        add(visitorsLoginJbt);
        add(registerJbt);
        add(gameIntroduceJLabel);
    }


    /**
     * 添加监听器
     */
    private void addListener() {
        //为账号登入按钮添加监听器
        loginJbt.addMouseListener(new AppPanelLoginJbtLis());
        //为账号注册按钮添加监听器
        registerJbt.addMouseListener(new AppPanelRegisterJbtLis());
        gameIntroduceJLabel.addMouseListener(new GameIntroduceLabelLis());
        //为快速开始添加监听器
        visitorsLoginJbt.addMouseListener(new QuickStartGameJbtLis());
    }


    @Override
    protected void paintComponent(Graphics g) {
        super.paintComponent(g);
        g.drawImage(ImageConstant.BG1.getImage(), 0, 0, 1440, 800, null);
    }


}
